Matthias Clasen [Thu, 2 Jun 2022 21:24:10 +0000 (21:24 +0000)]
Merge branch 'wip/carlosg/activation-roundtrip-fix' into 'main'
gdk/wayland: Check the GdkSurface wl_surface before using it for activation
Closes gnome-control-center#1862
See merge request GNOME/gtk!4789
Carlos Garnacho [Thu, 2 Jun 2022 21:05:39 +0000 (23:05 +0200)]
gdk/wayland: Check the GdkSurface wl_surface before using it for activation
Double check the GdkSurface has a wl_surface before using it as the activation
token source, since we cannot use NULL surfaces here.
Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1862
Carlos Garnacho [Thu, 2 Jun 2022 21:04:40 +0000 (23:04 +0200)]
gdk/wayland: Dispatch GdkAppLaunchContext activation token in its own queue
Use a separate queue to dispatch the token object exclusively, just like we
do on the GdkSurface activation paths.
Matthias Clasen [Thu, 2 Jun 2022 17:13:53 +0000 (17:13 +0000)]
Merge branch 'ebassi/a11y-text-extents' into 'main'
a11y: Implement atspi.Text.GetCharacterExtents for GtkTextView
See merge request GNOME/gtk!4754
Carlos Garnacho [Thu, 2 Jun 2022 12:32:41 +0000 (14:32 +0200)]
a11y: Transform GetCharacterExtents coords to native surface ones
These coordinates are "window"-relative, so transform textview coordinates
to the coordinate system of the GtkNative containing it.
Matthias Clasen [Wed, 1 Jun 2022 18:54:54 +0000 (18:54 +0000)]
Merge branch 'wip/chergert/GTK_DEBUG_TEXT_DIR' into 'main'
main: add GTK_DEBUG_TEXT_DIR environment variable
See merge request GNOME/gtk!4768
Christian Hergert [Wed, 1 Jun 2022 18:26:44 +0000 (11:26 -0700)]
gtkmain: add support for GTK_DEBUG=invert-text-dir
This allows inverting the default text-direction in an application for
debugging, testing, and QA purposes. IDEs such as Builder may automate this
to encourage more application developers to test with a text-direction
different than their own.
Matthias Clasen [Wed, 1 Jun 2022 00:13:44 +0000 (00:13 +0000)]
Merge branch 'wip/chergert/fix-lookup-with-interfaces' into 'main'
builderparser: fix <lookup/> with interface types
See merge request GNOME/gtk!4782
Christian Hergert [Tue, 31 May 2022 22:58:21 +0000 (15:58 -0700)]
builderparser: fix <lookup/> with interface types
If we have a <lookup name="foo" type="SomeInterface"> a runtime warning
would be emitted and the expression would fail to be created. This is
because the interfaces will likely be a GObject as well, meaning we check
the object type branch instead of the interface.
Instead, we need to use the fundamental type like other parts of the
expression system use.
Matthias Clasen [Mon, 30 May 2022 21:05:34 +0000 (21:05 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
shortcutcontroller: Fix a typo
See merge request GNOME/gtk!4778
Matthias Clasen [Mon, 30 May 2022 20:24:02 +0000 (16:24 -0400)]
shortcutcontroller: Fix a typo
Carlos Garnacho [Mon, 30 May 2022 09:55:29 +0000 (09:55 +0000)]
Merge branch 'gesture-click-unpaired-release-nullable-sequence' into 'main'
Mark sequence parameter in GtkGestureClick::unpaired-release signal as nullable
See merge request GNOME/gtk!4777
Sebastian Dröge [Mon, 30 May 2022 08:33:59 +0000 (11:33 +0300)]
Mark sequence parameter in GtkGestureClick::unpaired-release signal as nullable
Aurimas Černius [Sun, 29 May 2022 20:05:31 +0000 (23:05 +0300)]
Updated Lithuanian translation
Matthias Clasen [Sat, 28 May 2022 15:34:13 +0000 (15:34 +0000)]
Merge branch 'fix-tests-with-recent-glib' into 'main'
Avoid g_log_set_writer_func in tests
See merge request GNOME/gtk!4772
Matthias Clasen [Sat, 28 May 2022 14:17:47 +0000 (10:17 -0400)]
Avoid g_log_set_writer_func in tests
It is not usable anymore since GLib 2.72.
Luming Zh [Sat, 28 May 2022 01:52:42 +0000 (01:52 +0000)]
Update Chinese (China) translation
Matthias Clasen [Fri, 27 May 2022 22:18:26 +0000 (22:18 +0000)]
Merge branch 'headerbar-demo-upgrade' into 'main'
Make our demos more likable
See merge request GNOME/gtk!4769
Matthias Clasen [Fri, 27 May 2022 21:34:55 +0000 (17:34 -0400)]
Make our demos more likable
Nobody likes Facebook.
Everybody loves the Eagles.
Matthias Clasen [Fri, 27 May 2022 16:47:38 +0000 (16:47 +0000)]
Merge branch 'wayland-cursor-scale2' into 'main'
wayland: scale cursors to the right size
See merge request GNOME/gtk!4766
Matthias Clasen [Fri, 27 May 2022 14:10:27 +0000 (10:10 -0400)]
wayland: scale cursors to the right size
When loading cursors at scale, we expect the
cursor images to have a size of scale * size.
If we don't find such images, load them at their
unscaled size and scale them up ourselves.
Without this, cursors will appear in unexpected
sizes depending on scales and themes.
Related: #4746
Matthias Clasen [Fri, 27 May 2022 14:24:54 +0000 (14:24 +0000)]
Merge branch 'main' into 'main'
GtkIMContextSimple: array bounds was not correctly checked
Closes #4771
See merge request GNOME/gtk!4748
Matthias Clasen [Fri, 27 May 2022 14:10:47 +0000 (14:10 +0000)]
Merge branch 'use-flathub-link' into 'main'
Make the formatted link more neutral
See merge request GNOME/gtk!4765
Matthias Clasen [Fri, 27 May 2022 12:43:06 +0000 (08:43 -0400)]
Make the formatted link more neutral
There have been complaints about company names in
our demos. Lets use something else.
Part of: #4716
Matthias Clasen [Fri, 27 May 2022 12:26:24 +0000 (12:26 +0000)]
Merge branch 'update-initial-layout' into 'main'
vulkan: Set initial layout to undefined
See merge request GNOME/gtk!4706
Matthias Clasen [Fri, 27 May 2022 12:25:48 +0000 (12:25 +0000)]
Merge branch 'update-command-buffer-freeing' into 'main'
vulkan: Don't attempt to free 0 command buffers
See merge request GNOME/gtk!4705
Matthias Clasen [Fri, 27 May 2022 10:58:12 +0000 (10:58 +0000)]
Merge branch 'wayland-cursor-scale' into 'main'
wayland: Sanity check cursor image size
Closes #4746
See merge request GNOME/gtk!4761
Matthias Clasen [Fri, 27 May 2022 02:23:31 +0000 (22:23 -0400)]
wayland: Make cursors have the right size
The Wayland protocol requires that width and height
of cursor surfaces is an integer multiple of the
surface scale. Make it so.
Fixes: #4746
Matthias Clasen [Fri, 27 May 2022 02:28:57 +0000 (22:28 -0400)]
wayland: Sanity check cursor image size
On Wayland it is a protocol violation to upload buffers with
dimensions that are not an integer multiple of the buffer scale.
Until recently, Mutter did not enforce this. When it started
doing so, some users started seeing crashes in GTK apps because the
cursor theme ended up with e.g. a 15x16 pixel image at scale of 2.
Add a small sanity check for this case.
Matthias Clasen [Thu, 26 May 2022 12:23:56 +0000 (12:23 +0000)]
Merge branch 'TTMaZa-LGPL-vs-GPL' into 'main'
GDK is LGPL-2.1-or-later not GPL-2.1-or-later, right?
See merge request GNOME/gtk!4755
Matthias Clasen [Thu, 26 May 2022 11:43:56 +0000 (11:43 +0000)]
Merge branch 'wip/chergert/fix-sysprof-wrapper' into 'main'
build: fix sysprof default options
See merge request GNOME/gtk!4759
Matthias Clasen [Thu, 26 May 2022 10:03:39 +0000 (10:03 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
x11: Always update shadow size
Closes #4136
See merge request GNOME/gtk!4758
Christian Hergert [Thu, 26 May 2022 05:52:34 +0000 (22:52 -0700)]
build: fix sysprof default options
Sysprof just recently cleaned up it's meson_options.txt and this makes
the tracking of the master branch match the new values.
Benjamin Otte [Thu, 26 May 2022 02:36:14 +0000 (04:36 +0200)]
x11: Always update shadow size
Not updating shadow size unconditionally would lead to shadow size not
being set on map, which would lead mutter to think that we are a Window
without extents and then become confused when we suddenly set some.
Make sure that doesn't happen by always having shadows set on map, just
like GTK3.
Fixes #4136
Emmanuele Bassi [Wed, 25 May 2022 14:29:41 +0000 (14:29 +0000)]
Merge branch 'fix-stack-page-at-spi-parent' into 'main'
a11y: Realize GtkStackPage parent context before trying to get a ref
Closes #4944
See merge request GNOME/gtk!4757
Sebastian Keller [Wed, 25 May 2022 12:56:05 +0000 (14:56 +0200)]
a11y: Realize GtkStackPage parent context before trying to get a ref
If a context is not realized, calling gtk_at_spi_context_to_ref() will
return a null ref, because its path has not been initialized yet. This
was already done for all other cases in get_parent_context_ref(), but
was missing for the GtkStackPage case.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4944
Matthias Clasen [Tue, 24 May 2022 16:46:18 +0000 (16:46 +0000)]
Merge branch 'pkgconfig' into 'main'
Meson: Simplify pkgconfig file generator
See merge request GNOME/gtk!4756
Luca Bacci [Tue, 24 May 2022 15:26:24 +0000 (15:26 +0000)]
Merge branch 'remove-emulated-scroll-events' into 'main'
Drop pointer_emulated discrete scroll events
See merge request GNOME/gtk!4694
Xavier Claessens [Tue, 24 May 2022 14:30:58 +0000 (10:30 -0400)]
Meson: Simplify pkgconfig file generator
Meson knows all private dependencies itself when passing the library as
first positional argument, no need to specify them manually. Also
simplify backend specific files by simply requiring gtk4, just like
unix-print already did.
This should fix generated gtk4-uninstalled.pc, see Meson bug report:
https://github.com/mesonbuild/meson/issues/10415
Manuel Zabelt [Tue, 24 May 2022 13:37:43 +0000 (13:37 +0000)]
Update docs/reference/gdk/gdk4-x11.toml.in
Manuel Zabelt [Tue, 24 May 2022 13:36:07 +0000 (13:36 +0000)]
GDK is LGPL-2.1-or-later not GPL-2.1-or-later, right?
Luca Bacci [Fri, 6 May 2022 11:50:23 +0000 (13:50 +0200)]
Drop pointer_emulated discrete scroll events
GTK4 has had smooth scroll events since the beginning, so we
prefer not to emit emulated discrete scroll events at all
Luca Bacci [Fri, 6 May 2022 11:45:06 +0000 (13:45 +0200)]
Wayland: Only send smooth scroll events for tablet tools
Luca Bacci [Tue, 24 May 2022 12:19:39 +0000 (12:19 +0000)]
Merge branch 'scroll-surface-unit-dpi-scale' into 'main'
DirectManipulation: Account for DPI scale
See merge request GNOME/gtk!4749
Luca Bacci [Thu, 19 May 2022 13:04:41 +0000 (15:04 +0200)]
DirectManipulation: Account for DPI scale
Emmanuele Bassi [Mon, 23 May 2022 14:54:13 +0000 (15:54 +0100)]
a11y: Implement atspi.Text.GetCharacterExtents for GtkTextView
Retrieve the location of a given offset in window-relative coordinate
space.
Matthias Clasen [Mon, 23 May 2022 14:08:43 +0000 (14:08 +0000)]
Merge branch 'blink-assertion' into 'main'
Remove an assertion that we hit
See merge request GNOME/gtk!4753
Matthias Clasen [Mon, 23 May 2022 12:43:25 +0000 (12:43 +0000)]
Merge branch 'otte-main-patch-30652' into 'main'
gesturedrag: Fix docs
See merge request GNOME/gtk!4752
Matthias Clasen [Mon, 23 May 2022 12:33:30 +0000 (12:33 +0000)]
Merge branch 'ci-meson-bump' into 'main'
CI: bump meson version from 0.59 to 0.60.3
See merge request GNOME/gtk!4751
Matthias Clasen [Mon, 23 May 2022 12:28:00 +0000 (08:28 -0400)]
Remove an assertion that we hit
It appears that we mess up accounting for blinking
cursors sometimes, and can hit blink_cb when there
is a nonempty selection.
Instead of asserting, warn and stop blinking.
Related: #4767
Aleksandr Melman [Mon, 23 May 2022 12:25:59 +0000 (12:25 +0000)]
Update Russian translation
Benjamin Otte [Sun, 22 May 2022 12:45:28 +0000 (12:45 +0000)]
gesturedrag: Fix docs
Leftover from GTK3. Coordinates are widget relative everywhere now.
Christian Kirbach [Sun, 22 May 2022 10:41:16 +0000 (10:41 +0000)]
Update German translation
(cherry picked from commit
7703aa5cd301f7dcff75db08b4acb2fa9b11c7d3)
Christoph Reiter [Sun, 22 May 2022 09:38:14 +0000 (11:38 +0200)]
CI: bump meson version from 0.59 to 0.60.3
We pull in glib main via a submodule in CI and glib has recently
bumped its meson requirement to >= 0.60:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2641
Install 0.60.3 where needed to make things build again.
Víctor Marzo [Thu, 19 May 2022 09:35:14 +0000 (11:35 +0200)]
GtkIMContextSimple: array bounds was not correctly checked
Fixes #4771
Luca Bacci [Thu, 19 May 2022 09:05:50 +0000 (09:05 +0000)]
Merge branch 'fix-memory-leak' into 'main'
GdkWin32: Plug memory leak
See merge request GNOME/gtk!4747
Luca Bacci [Thu, 19 May 2022 06:49:05 +0000 (08:49 +0200)]
GdkWin32: Plug memory leak
Benjamin Otte [Wed, 18 May 2022 21:08:46 +0000 (21:08 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
nodeparser: Fix parsing of color-matrix node
See merge request GNOME/gtk!4745
Benjamin Otte [Wed, 18 May 2022 19:16:33 +0000 (21:16 +0200)]
nodeparser: Fix parsing of color-matrix node
Negative offsets in the color matrix were inverted because it used the
rect parser.
Benjamin Otte [Wed, 18 May 2022 18:27:29 +0000 (18:27 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
CI: Include reftest nodes in artifacts
See merge request GNOME/gtk!4743
Benjamin Otte [Wed, 18 May 2022 17:13:39 +0000 (19:13 +0200)]
CI: Include reftest nodes in artifacts
Hugo Carvalho [Wed, 18 May 2022 14:54:31 +0000 (14:54 +0000)]
Update Portuguese translation
Matthias Clasen [Wed, 18 May 2022 13:55:33 +0000 (13:55 +0000)]
Merge branch 'let_selectable_label_mnemonic_self_focus' into 'main'
Allow selectable labels contents to be selected by mnemonic
See merge request GNOME/gtk!4741
Caolán McNamara [Wed, 18 May 2022 11:40:40 +0000 (12:40 +0100)]
Allow selectable labels contents to be selected by mnemonic
expecially by the mnemonic of another label that targets it.
https://gitlab.gnome.org/GNOME/gtk/-/issues/4927
see also https://bugs.documentfoundation.org/show_bug.cgi?id=137748
Jordi Mas [Wed, 18 May 2022 11:32:32 +0000 (13:32 +0200)]
Update Catalan translation
Matthias Clasen [Wed, 18 May 2022 01:34:47 +0000 (01:34 +0000)]
Merge branch 'wip/chergert/fix-4934' into 'main'
checkbutton: fix critical when setting use-underline
Closes #4934
See merge request GNOME/gtk!4740
Christian Hergert [Tue, 17 May 2022 19:28:25 +0000 (12:28 -0700)]
checkbutton: fix critical when setting use-underline
This needs to make sure that we've created the label before applying the
setting on a child widget.
Fixes #4934
Benjamin Otte [Tue, 17 May 2022 00:19:01 +0000 (00:19 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
testsuite: Add tests for label overdraw
See merge request GNOME/gtk!4737
Benjamin Otte [Mon, 16 May 2022 20:26:09 +0000 (22:26 +0200)]
testsuite: Add tests for label overdraw
This brings back a subset of what quit-mnemonic.ui tested for, but
trying a lot harder to trigger the label overdrawing its allocation,
which will cause the text to be cut off when clipping is happening.
It should not be an issue at all with GTK4, but keeping that test around
is a good idea.
Matthias Clasen [Mon, 16 May 2022 20:27:53 +0000 (20:27 +0000)]
Merge branch 'wip/chergert/fix-4625' into 'main'
gsk/gl: use critical instead of assert in dispose
Closes #4625
See merge request GNOME/gtk!4736
Christian Hergert [Mon, 16 May 2022 17:50:07 +0000 (10:50 -0700)]
gsk/gl: use critical instead of assert in dispose
Instead of asserting only in debug builds (which are generally not
shipped in distributions) we should deliver a critical log-level message
so that these can be found sooner when not developing with jhbuild,
Flatpak, etc.
Also assert that we've setup the state correctly when realizing the
GskGLRenderer object.
Fixes #4625
Fran Dieguez [Mon, 16 May 2022 07:58:59 +0000 (07:58 +0000)]
Update Galician translation
Danial Behzadi [Mon, 16 May 2022 07:38:02 +0000 (07:38 +0000)]
Update Persian translation
Matthias Clasen [Mon, 16 May 2022 00:14:28 +0000 (00:14 +0000)]
Merge branch 'wip/sophie-h/remove-properties-translation' into 'main'
l10n: Remove po/pot for dropped nicks/blurbs
See merge request GNOME/gtk!4718
Matthias Clasen [Sun, 15 May 2022 16:34:19 +0000 (16:34 +0000)]
Merge branch 'hb-dependency' into 'main'
Add an explicit harfbuzz dependency
See merge request GNOME/gtk!4732
Matthias Clasen [Sun, 15 May 2022 14:37:24 +0000 (10:37 -0400)]
Add an explicit harfbuzz dependency
We are using Harfbuzz api in the file chooser,
so lets make this official.
Luca Bacci [Sun, 15 May 2022 12:55:22 +0000 (12:55 +0000)]
Merge branch 'gdk-win32-direct-manipulation' into 'main'
GdkWin32: Add support for DirectManipulation
See merge request GNOME/gtk!4698
Luca Bacci [Wed, 4 May 2022 12:56:48 +0000 (14:56 +0200)]
GdkWin32: Add support for DirectManipulation
Adds support for Precision TouchPads (PTPs) gestures
and scroll events.
Piotr Drąg [Sun, 15 May 2022 12:04:06 +0000 (14:04 +0200)]
Update Polish translation
Emin Tufan Çetin [Sun, 15 May 2022 11:14:27 +0000 (11:14 +0000)]
Update Turkish translation
Danial Behzadi [Sun, 15 May 2022 06:30:26 +0000 (06:30 +0000)]
Update Persian translation
(cherry picked from commit
2b1c09dd42bfb648a7f675ff645715d8dd07411e)
Matthias Clasen [Sat, 14 May 2022 21:59:09 +0000 (21:59 +0000)]
Merge branch 'ci-update' into 'main'
ci: Update the Fedora image to Fedora 36
See merge request GNOME/gtk!4730
Matthias Clasen [Sat, 14 May 2022 16:52:40 +0000 (12:52 -0400)]
Drop the quit-mnemonic reftest
I can't quite figure out what this test was meant
to test, and how to make it do so in a way that
does not fall afoul of rendering issues in the GL
renderer and rounding differences in pango.
Can't win with reftests.
Matthias Clasen [Sat, 14 May 2022 12:41:18 +0000 (08:41 -0400)]
ci: Update the Fedora image to Fedora 36
Also remove systemtap from the image, since
we don't need it.
The v36 image is still used in gtk-4-6.
Benjamin Otte [Sat, 14 May 2022 15:28:09 +0000 (15:28 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
listitemmanager: Clarify warning
See merge request GNOME/gtk!4731
Benjamin Otte [Sat, 14 May 2022 14:53:22 +0000 (16:53 +0200)]
broadway: Fix gcc 12 complaining
Benjamin Otte [Sun, 8 May 2022 03:49:40 +0000 (05:49 +0200)]
listitemmanager: Clarify warning
Lars doesn't have an opinion on this problem anymore.
And when people see this warning, they should know what to do.
Matthias Clasen [Sat, 14 May 2022 12:48:40 +0000 (12:48 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Cosmetic fixes to objcopy hack
See merge request GNOME/gtk!4729
Yuri Chornoivan [Sat, 14 May 2022 12:22:13 +0000 (12:22 +0000)]
Update Ukrainian translation
Matthias Clasen [Sat, 14 May 2022 11:53:47 +0000 (07:53 -0400)]
Cosmetic fixes to objcopy hack
Preserve the elf section name that we would get
without the objcopy hack. Minimizing the differences
Anders Jonsson [Sat, 14 May 2022 10:03:33 +0000 (10:03 +0000)]
Update Swedish translation
(cherry picked from commit
2d8a8e357549670b95eaa8ce673ac79aa326d212)
Matthias Clasen [Fri, 13 May 2022 17:06:46 +0000 (17:06 +0000)]
Merge branch 'texture-serialize-tiff' into 'main'
gsk: Serialize textures as tiff
See merge request GNOME/gtk!4725
Matthias Clasen [Fri, 13 May 2022 16:38:45 +0000 (16:38 +0000)]
Merge branch 'texture-fixes' into 'main'
Fixes for gdk_memory_texture_new_subtexture
See merge request GNOME/gtk!4724
Matthias Clasen [Tue, 10 May 2022 19:49:44 +0000 (15:49 -0400)]
gsk: Serialize float textures as tiff
Otherwise, we lose precision when converting them
to 16bit integers.
Matthias Clasen [Fri, 13 May 2022 13:31:40 +0000 (09:31 -0400)]
Add tests for gdk_memory_texture_new_subtexture
This checks the fixes in the previous commit.
Matthias Clasen [Fri, 13 May 2022 14:53:23 +0000 (14:53 +0000)]
Merge branch 'file-chooser-widget-make-key-controller-on-external-entry-work-at-bubble-phase' into 'main'
GtkFileChooserWidget: Propagate keys from external entry to fcwidget at the BUBBLE phase
Closes #4905
See merge request GNOME/gtk!4723
Matthias Clasen [Sun, 8 May 2022 17:53:04 +0000 (13:53 -0400)]
Fixes for gdk_memory_texture_new_subtexture
There were several mistakes here.
The width of subtextures was set to the width of
the main texture, the data size wasn't properly
calculated, and the preconditions were inverted.
Yay us!
Luca Bacci [Fri, 13 May 2022 10:28:25 +0000 (12:28 +0200)]
GtkFileChooserWidget: Propagate keys from external entry to fcwidget at the BUBBLE phase
Now that we use event controllers we can forward keybindings from the
external entry to the filechooserwidget at the bubble phase.
Fixes #4905
References:
* commit
1fb075dbca911d4a61e7ebbf9fc040cd697f4d83
* commit
686116ba615f989610a6b78e84870555dbf5106b
Matthias Clasen [Thu, 12 May 2022 15:25:29 +0000 (15:25 +0000)]
Merge branch 'egl-format-string' into 'main'
egl: Fix invalid format string
See merge request GNOME/gtk!4722
Loïc Minier [Wed, 11 May 2022 19:43:04 +0000 (19:43 +0000)]
egl: Fix invalid format string